//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Copyright (c) 1995-1999  Microsoft Corporation

Module Name:

network.h

Abstract:


Notes:


--*/
/*
------------------------------------------------------------------------------
    Revision History
    Date                Author          Activity ID              Activity Headline
    2007-02-08          qinxuetao       CEDB200043651            Update ril driver for network and data service
    2007-08-14          qinxuetao       WM600009403              After phone on or SIM unlock, making the first +COPS as CMDOPT_NOOP
------------------------------------------------------------------------------
*/
#pragma once


#define NETWK_CMDBUF_LENGTH      (MAX_PATH + MAXLENGTH_OPERATOR)
#define NETWK_ALLOC_NUMBER        1


//
// Registration status values
//
const DWORD g_rgdwRegStats[] =
{
    RIL_REGSTAT_UNREGISTERED,       // 0
    RIL_REGSTAT_HOME,               // 1
    RIL_REGSTAT_ATTEMPTING,         // 2
    RIL_REGSTAT_DENIED,             // 3
    RIL_REGSTAT_UNKNOWN,            // 4
    RIL_REGSTAT_ROAMING,            // 5
};
#define NUM_REGSTATS    (sizeof(g_rgdwRegStats) / sizeof(DWORD))


//
// Operator numeric name to operator long name map
//
struct OPERATORNAMEMAP {
    UINT nNumericName;
    LPCSTR szLongName;
    LPCSTR szCountryCode;
};


HRESULT RILDrv_GetSubscriberNumbers(DWORD dwParam);
HRESULT RILDrv_GetOperatorList(DWORD dwParam);
HRESULT RILDrv_GetPreferredOperatorList(DWORD dwParam, DWORD dwFormat);
HRESULT RILDrv_AddPreferredOperator(DWORD dwParam, DWORD dwIndex, const RILOPERATORNAMES* lpOperatorNames);
HRESULT RILDrv_RemovePreferredOperator(DWORD dwParam, DWORD dwIndex);
HRESULT RILDrv_GetCurrentOperator(DWORD dwParam, DWORD dwFormat);
HRESULT RILDrv_RegisterOnNetwork(DWORD dwParam, DWORD dwMode, const RILOPERATORNAMES* lpOperatorNames);
HRESULT RILDrv_UnregisterFromNetwork(DWORD dwParam);
HRESULT RILDrv_GetRegistrationStatus(DWORD dwParam);
HRESULT RILDrv_GetAllOperatorsList(DWORD dwParam);
HRESULT ParseGetRegistrationStatus(LPCSTR szRsp, void*& pBlob, UINT& cbBlob);
#ifdef WAVECOM_DRIVER
extern BOOL g_fIgnoreNextAutoReg;
#endif
